package com.ruoyi.ctcx.mapper;

import java.math.BigDecimal;
import java.util.List;


import com.ruoyi.ctcx.domain.TbInsuranceSettle;
import com.ruoyi.ctcx.domain.ro.InsuranceParam;
import com.ruoyi.ctcx.domain.ro.InsuranceQueryParam;
import com.ruoyi.ctcx.domain.vo.TbInsuranceSettleDetailVo;
import com.ruoyi.ctcx.domain.vo.TbInsuranceSettleQueryVo;

/**
 * 保险理赔信息Mapper接口
 * 
 * @author lss
 * @date 2024-11-19
 */
public interface TbInsuranceSettleMapper 
{
    /**
     * 查询保险理赔信息
     * 
     * @param id 保险理赔信息主键
     * @return 保险理赔信息
     */
    public TbInsuranceSettle selectTbInsuranceSettleById(String id);

    /**
     * 查询保险理赔信息列表
     * 
     * @param tbInsuranceSettle 保险理赔信息
     * @return 保险理赔信息集合
     */
    public List<TbInsuranceSettle> selectTbInsuranceSettleList(TbInsuranceSettle tbInsuranceSettle);

    /**
     * 新增保险理赔信息
     * 
     * @param tbInsuranceSettle 保险理赔信息
     * @return 结果
     */
    public int insertTbInsuranceSettle(TbInsuranceSettle tbInsuranceSettle);

    /**
     * 修改保险理赔信息
     * 
     * @param tbInsuranceSettle 保险理赔信息
     * @return 结果
     */
    public int updateTbInsuranceSettle(TbInsuranceSettle tbInsuranceSettle);

    /**
     * 删除保险理赔信息
     * 
     * @param id 保险理赔信息主键
     * @return 结果
     */
    public int deleteTbInsuranceSettleById(String id);

    /**
     * 批量删除保险理赔信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbInsuranceSettleByIds(String[] ids);

    List<TbInsuranceSettleQueryVo> getSettleList(InsuranceParam insuranceParam);

    TbInsuranceSettle selectTbInsuranceSettleByCaseId(Long caseId);

    TbInsuranceSettleDetailVo selectTbInsuranceSettleByInsureId(InsuranceQueryParam insuranceQueryParam);

    BigDecimal getCompleteAmountTotal(InsuranceParam insuranceParam);
}
